import React, { Component } from 'react'

// 高阶组件也是一个函数,它的参数是一个组件,返回的是一个新组件
function HComponent(PassComponent) {
    class NewComponent extends Component {
        constructor() {
            super();
            this.state = {
                username: '',
            };
        }
        // 直接使用生命周期开始自动获取state
        componentDidMount() {
            // 一下是模拟数据 真实开发要通过axios去获取username
            const username = 'admin';
            // 更新状态
            this.setState({
                username: username
            });
        }
        // 在类组件内挂载传入的passComponent并携带参数传递
        render() {
            return <PassComponent username={this.state.username} />
        }

    }
    // 最后在函数内返回这个新组件
    return NewComponent;
}
// 最后暴露函数
export default HComponent;

